!(function () {
  "use strict";
  function t(t, e) {
    for (var r = 0; r < e.length; r++) {
      var n = e[r];
      (n.enumerable = n.enumerable || !1),
        (n.configurable = !0),
        "value" in n && (n.writable = !0),
        Object.defineProperty(
          t,
          ((i = n.key),
          (o = void 0),
          "symbol" ==
          typeof (o = (function (t, e) {
            if ("object" != typeof t || null === t) return t;
            var r = t[Symbol.toPrimitive];
            if (void 0 !== r) {
              var n = r.call(t, e || "default");
              if ("object" != typeof n) return n;
              throw new TypeError(
                "@@toPrimitive must return a primitive value.",
              );
            }
            return ("string" === e ? String : Number)(t);
          })(i, "string"))
            ? o
            : String(o)),
          n,
        );
    }
    var i, o;
  }
  function e(t) {
    return (
      (e = Object.setPrototypeOf
        ? Object.getPrototypeOf.bind()
        : function (t) {
            return t.__proto__ || Object.getPrototypeOf(t);
          }),
      e(t)
    );
  }
  function r(t, e) {
    return (
      (r = Object.setPrototypeOf
        ? Object.setPrototypeOf.bind()
        : function (t, e) {
            return (t.__proto__ = e), t;
          }),
      r(t, e)
    );
  }
  function n() {
    if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
    if (Reflect.construct.sham) return !1;
    if ("function" == typeof Proxy) return !0;
    try {
      return (
        Boolean.prototype.valueOf.call(
          Reflect.construct(Boolean, [], function () {}),
        ),
        !0
      );
    } catch (t) {
      return !1;
    }
  }
  function i(t, e, o) {
    return (
      (i = n()
        ? Reflect.construct.bind()
        : function (t, e, n) {
            var i = [null];
            i.push.apply(i, e);
            var o = new (Function.bind.apply(t, i))();
            return n && r(o, n.prototype), o;
          }),
      i.apply(null, arguments)
    );
  }
  function o(t) {
    var n = "function" == typeof Map ? new Map() : void 0;
    return (
      (o = function (t) {
        if (
          null === t ||
          ((o = t), -1 === Function.toString.call(o).indexOf("[native code]"))
        )
          return t;
        var o;
        if ("function" != typeof t)
          throw new TypeError(
            "Super expression must either be null or a function",
          );
        if (void 0 !== n) {
          if (n.has(t)) return n.get(t);
          n.set(t, a);
        }
        function a() {
          return i(t, arguments, e(this).constructor);
        }
        return (
          (a.prototype = Object.create(t.prototype, {
            constructor: {
              value: a,
              enumerable: !1,
              writable: !0,
              configurable: !0,
            },
          })),
          r(a, t)
        );
      }),
      o(t)
    );
  }
  function a(t) {
    if (void 0 === t)
      throw new ReferenceError(
        "this hasn't been initialised - super() hasn't been called",
      );
    return t;
  }
  function s(t) {
    var r = n();
    return function () {
      var n,
        i = e(t);
      if (r) {
        var o = e(this).constructor;
        n = Reflect.construct(i, arguments, o);
      } else n = i.apply(this, arguments);
      return (function (t, e) {
        if (e && ("object" == typeof e || "function" == typeof e)) return e;
        if (void 0 !== e)
          throw new TypeError(
            "Derived constructors may only return object or undefined",
          );
        return a(t);
      })(this, n);
    };
  }
  function f(t) {
    return (
      (function (t) {
        if (Array.isArray(t)) return u(t);
      })(t) ||
      (function (t) {
        if (
          ("undefined" != typeof Symbol && null != t[Symbol.iterator]) ||
          null != t["@@iterator"]
        )
          return Array.from(t);
      })(t) ||
      (function (t, e) {
        if (!t) return;
        if ("string" == typeof t) return u(t, e);
        var r = Object.prototype.toString.call(t).slice(8, -1);
        "Object" === r && t.constructor && (r = t.constructor.name);
        if ("Map" === r || "Set" === r) return Array.from(t);
        if (
          "Arguments" === r ||
          /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)
        )
          return u(t, e);
      })(t) ||
      (function () {
        throw new TypeError(
          "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.",
        );
      })()
    );
  }
  function u(t, e) {
    (null == e || e > t.length) && (e = t.length);
    for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r];
    return n;
  }
  function l(t, e, r, n) {
    (this.fromSampleRate = t),
      (this.toSampleRate = e),
      (this.channels = 0 | r),
      (this.noReturn = !!n),
      this.initialize();
  }
  (l.prototype.initialize = function () {
    if (
      !(this.fromSampleRate > 0 && this.toSampleRate > 0 && this.channels > 0)
    )
      throw new Error("Invalid settings specified for the resampler.");
    this.fromSampleRate == this.toSampleRate
      ? ((this.resampler = this.bypassResampler), (this.ratioWeight = 1))
      : (this.fromSampleRate < this.toSampleRate
          ? ((this.lastWeight = 1),
            (this.resampler = this.compileLinearInterpolation))
          : ((this.tailExists = !1),
            (this.lastWeight = 0),
            (this.resampler = this.compileMultiTap)),
        (this.ratioWeight = this.fromSampleRate / this.toSampleRate));
  }),
    (l.prototype.compileLinearInterpolation = function (t) {
      var e = t.length;
      this.initializeBuffers(e);
      var r,
        n,
        i = this.outputBufferSize,
        o = this.ratioWeight,
        a = this.lastWeight,
        s = 0,
        f = 0,
        u = 0,
        l = this.outputBuffer;
      if (e % this.channels == 0) {
        if (e > 0) {
          for (; a < 1; a += o)
            for (s = 1 - (f = a % 1), r = 0; r < this.channels; ++r)
              l[u++] = this.lastOutput[r] * s + t[r] * f;
          for (
            a--, e -= this.channels, n = Math.floor(a) * this.channels;
            u < i && n < e;

          ) {
            for (s = 1 - (f = a % 1), r = 0; r < this.channels; ++r)
              l[u++] = t[n + r] * s + t[n + this.channels + r] * f;
            (a += o), (n = Math.floor(a) * this.channels);
          }
          for (r = 0; r < this.channels; ++r) this.lastOutput[r] = t[n++];
          return (this.lastWeight = a % 1), this.bufferSlice(u);
        }
        return this.noReturn ? 0 : [];
      }
      throw new Error("Buffer was of incorrect sample length.");
    }),
    (l.prototype.compileMultiTap = function (t) {
      var e = [],
        r = t.length;
      this.initializeBuffers(r);
      var n = this.outputBufferSize;
      if (r % this.channels == 0) {
        if (r > 0) {
          for (var i = this.ratioWeight, o = 0, a = 0; a < this.channels; ++a)
            e[a] = 0;
          var s = 0,
            f = 0,
            u = !this.tailExists;
          this.tailExists = !1;
          var l = this.outputBuffer,
            h = 0,
            c = 0;
          do {
            if (u) for (o = i, a = 0; a < this.channels; ++a) e[a] = 0;
            else {
              for (o = this.lastWeight, a = 0; a < this.channels; ++a)
                e[a] += this.lastOutput[a];
              u = !0;
            }
            for (; o > 0 && s < r; ) {
              if (!(o >= (f = 1 + s - c))) {
                for (a = 0; a < this.channels; ++a) e[a] += t[s + a] * o;
                (c += o), (o = 0);
                break;
              }
              for (a = 0; a < this.channels; ++a) e[a] += t[s++] * f;
              (c = s), (o -= f);
            }
            if (0 != o) {
              for (this.lastWeight = o, a = 0; a < this.channels; ++a)
                this.lastOutput[a] = e[a];
              this.tailExists = !0;
              break;
            }
            for (a = 0; a < this.channels; ++a) l[h++] = e[a] / i;
          } while (s < r && h < n);
          return this.bufferSlice(h);
        }
        return this.noReturn ? 0 : [];
      }
      throw new Error("Buffer was of incorrect sample length.");
    }),
    (l.prototype.bypassResampler = function (t) {
      return this.noReturn ? ((this.outputBuffer = t), t.length) : t;
    }),
    (l.prototype.bufferSlice = function (t) {
      if (this.noReturn) return t;
      try {
        return this.outputBuffer.subarray(0, t);
      } catch (e) {
        try {
          return (this.outputBuffer.length = t), this.outputBuffer;
        } catch (e) {
          return this.outputBuffer.slice(0, t);
        }
      }
    }),
    (l.prototype.initializeBuffers = function (t) {
      this.outputBufferSize = Math.ceil(
        (t * this.toSampleRate) / this.fromSampleRate,
      );
      try {
        (this.outputBuffer = new Float32Array(this.outputBufferSize)),
          (this.lastOutput = new Float32Array(this.channels));
      } catch (t) {
        (this.outputBuffer = []), (this.lastOutput = []);
      }
    });
  var h = (function (e) {
    !(function (t, e) {
      if ("function" != typeof e && null !== e)
        throw new TypeError(
          "Super expression must either be null or a function",
        );
      (t.prototype = Object.create(e && e.prototype, {
        constructor: { value: t, writable: !0, configurable: !0 },
      })),
        Object.defineProperty(t, "prototype", { writable: !1 }),
        e && r(t, e);
    })(h, e);
    var n,
      i,
      o,
      u = s(h);
    function h() {
      var t;
      !(function (t, e) {
        if (!(t instanceof e))
          throw new TypeError("Cannot call a class as a function");
      })(this, h);
      var e = a((t = u.call(this)));
      return (
        (t.port.onmessage = function (t) {
          var r = t.data,
            n = r.type,
            i = r.data;
          if ((console.log("type", n), "init" === n)) {
            var o = i.frameSize,
              a = i.toSampleRate,
              s = i.arrayBufferType,
              f = i.fromSampleRate;
            return (
              (e.frameSize = o * Math.floor(f / a)),
              (e.resampler = new l(f, a, 1)),
              (e.frameBuffer = []),
              void (e.arrayBufferType = s)
            );
          }
          "stop" === n &&
            (e.port.postMessage({
              frameBuffer: e.transData(e.frameBuffer),
              isLastFrame: !0,
            }),
            (e.frameBuffer = []));
        }),
        t
      );
    }
    return (
      (n = h),
      (i = [
        {
          key: "process",
          value: function (t) {
            var e,
              r = t[0][0];
            return this.frameSize
              ? ((e = this.frameBuffer).push.apply(e, f(r)),
                this.frameBuffer.length >= this.frameSize &&
                  (this.port.postMessage({
                    frameBuffer: this.transData(this.frameBuffer),
                    isLastFrame: !1,
                  }),
                  (this.frameBuffer = [])),
                !0)
              : (r &&
                  this.port.postMessage({
                    frameBuffer: this.transData(r),
                    isLastFrame: !1,
                  }),
                !0);
          },
        },
        {
          key: "transData",
          value: function (t) {
            return (
              "short16" === this.arrayBufferType &&
                (t = (function (t) {
                  for (
                    var e = new ArrayBuffer(2 * t.length),
                      r = new DataView(e),
                      n = 0,
                      i = 0;
                    i < t.length;
                    i += 1, n += 2
                  ) {
                    var o = Math.max(-1, Math.min(1, t[i]));
                    r.setInt16(n, o < 0 ? 32768 * o : 32767 * o, !0);
                  }
                  return r.buffer;
                })((t = this.resampler.resampler(t)))),
              t
            );
          },
        },
      ]) && t(n.prototype, i),
      o && t(n, o),
      Object.defineProperty(n, "prototype", { writable: !1 }),
      h
    );
  })(o(AudioWorkletProcessor));
  registerProcessor("processor-worklet", h);
})();
